package com.heima.corss.controller;

/*
    用java代码手写一个栈。  -- 课堂案例

    用java代码手写一个队列。-- 课后作业
 */

import java.util.LinkedList;

public class StackDemo {
    public static void main(String[] args) {
        MyStack<String> stack = new MyStack<>();
        stack.push("hello");
        stack.push("java");
        stack.push("world");


        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
    }
}


//先进后出
//类： 成员变量（存储数据） + 成员方法（操作数据）。
class MyStack<E>{
    //底层真正用来存储数据的容器
    private LinkedList<E> stack;

    public MyStack(){
        stack = new LinkedList<>();
    }

    //进: 存数据
    public void push(E e){
        stack.addFirst(e);
    }

    //出: 取数据
    public E pop(){
        return stack.removeFirst();
    }

}





